//
//  UIButton+LLAdd.h
//  JunKeDai
//
//  Created by DD on 2017/12/29.
//  Copyright © 2017年 DD. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface UIButton (LLAdd)

@property (nonatomic) IBInspectable float fixWidthScreenFont;

/**
 创建一个 button，buttonType 是 UIButtonTypeCustom, 标题、标题颜色、字体、背景色

 @param title 标题
 @param titleColor 标题颜色
 @param font 标题字体，可为空，传 nil 则默认为 14
 @param backgroundColor 背景颜色
 @param target 目标
 @param action 动作，事件
 @return button
 */
+ (instancetype)createButtonWithTitle:(NSString *)title titleColor:(UIColor *)titleColor titleFont:(UIFont *)font backgroundColor:(UIColor *)backgroundColor target:(id)target action:(SEL)action;



/**
 创建一个 button，buttonType 是 UIButtonTypeCustom, 标题、标题颜色、字体、背景色、圆角
 
 @param title 标题
 @param titleColor 标题颜色
 @param font 标题字体，可为空，传 nil 则默认为 14
 @param backgroundColor 背景颜色
 @param cornerRadius 圆角
 @param target 目标
 @param action 动作，事件
 @return button
 */
+ (instancetype)createButtonWithTitle:(NSString *)title titleColor:(UIColor *)titleColor titleFont:(UIFont *)font backgroundColor:(UIColor *)backgroundColor cornerRadius:(CGFloat)cornerRadius target:(id)target action:(SEL)action;


/**
  创建一个 button，buttonType 是 UIButtonTypeCustom, 标题、正常标题颜色、选中标题颜色、字体、背景色

 @param title 标题
 @param normalTitleColor 正常标题颜色
 @param selectedTitleColor 选中标题颜色
 @param font 标题字体，可为空，传 nil 则默认为 14
 @param backgroundColor 背景颜色
 @param target 目标
 @param action 动作，事件
 @return button
 */
+ (instancetype)createButtonWithTitle:(NSString *)title normalTitleColor:(UIColor *)normalTitleColor selectedTitleColor:(UIColor *)selectedTitleColor titleFont:(UIFont *)font backgroundColor:(UIColor *)backgroundColor target:(id)target action:(SEL)action;



/**
 创建一个 button，buttonType 是 UIButtonTypeCustom, 标题、正常标题颜色、选中标题颜色、字体、背景色、圆角
 
 @param title 标题
 @param normalTitleColor 正常标题颜色
 @param selectedTitleColor 选中标题颜色
 @param font 标题字体，可为空，传 nil 则默认为 14
 @param backgroundColor 背景颜色
 @param cornerRadius 圆角
 @param target 目标
 @param action 动作，事件
 @return button
 */
+ (instancetype)createButtonWithTitle:(NSString *)title normalTitleColor:(UIColor *)normalTitleColor selectedTitleColor:(UIColor *)selectedTitleColor titleFont:(UIFont *)font backgroundColor:(UIColor *)backgroundColor cornerRadius:(CGFloat)cornerRadius target:(id)target action:(SEL)action;

/**
 创建一个 button，buttonType 是 UIButtonTypeCustom, 标题、标题颜色、字体、正常背景图片、不能点击时的背景图片
 
 @param title 标题
 @param titleColor 标题颜色
 @param font 标题字体，可为空，传 nil 则默认为 14
 @param normalBackgroundImage 正常背景图片
 @param disabledBackgroundImage 不能点击时的背景图片
 @param target 目标
 @param action 动作，事件
 @return button
 */
+ (instancetype)createButtonWithTitle:(NSString *)title titleColor:(UIColor *)titleColor titleFont:(UIFont *)font normalBackgroundImage:(UIImage *)normalBackgroundImage disabledBackgroundImage:(UIImage *)disabledBackgroundImage target:(id)target action:(SEL)action;



/**
 创建一个 button，buttonType 是 UIButtonTypeCustom, 标题、标题颜色、字体、正常背景图片、不能点击时的背景图片、圆角

 @param title 标题
 @param titleColor 标题颜色
 @param font 标题字体，可为空，传 nil 则默认为 14
 @param normalBackgroundImage 正常背景图片
 @param disabledBackgroundImage 不能点击时的背景图片
 @param cornerRadius 圆角
 @param target 目标
 @param action 动作，事件
 @return button
 */
+ (instancetype)createButtonWithTitle:(NSString *)title titleColor:(UIColor *)titleColor titleFont:(UIFont *)font normalBackgroundImage:(UIImage *)normalBackgroundImage disabledBackgroundImage:(UIImage *)disabledBackgroundImage cornerRadius:(CGFloat)cornerRadius target:(id)target action:(SEL)action;


/**
 创建一个 button，buttonType 是 UIButtonTypeCustom, 标题、标题颜色、字体、正常背景图片、选中时的背景图片、圆角
 
 @param title 标题
 @param titleColor 标题颜色
 @param font 标题字体，可为空，传 nil 则默认为 14
 @param normalBackgroundImage 正常背景图片
 @param selectedBackgroundImage 选中时的背景图片
 @param cornerRadius 圆角
 @param target 目标
 @param action 动作，事件
 @return button
 */
+ (instancetype)createButtonWithTitle:(NSString *)title titleColor:(UIColor *)titleColor titleFont:(UIFont *)font normalBackgroundImage:(UIImage *)normalBackgroundImage selectedBackgroundImage:(UIImage *)selectedBackgroundImage cornerRadius:(CGFloat)cornerRadius target:(id)target action:(SEL)action;



/**
 创建一个 button, 正常的标题、选中时的标题、字体颜色，字体

 @param normalTitle 正常的标题
 @param selectedTitle 选中时的标题
 @param titleColor 字体颜色
 @param font 字体
 @param target 目标
 @param action 动作，事件
 @return button
 */
+ (instancetype)createButtonWithNormalTitle:(NSString *)normalTitle selectedTitle:(NSString *)selectedTitle titleColor:(UIColor *)titleColor titleFont:(UIFont *)font target:(id)target action:(SEL)action;


/**
 创建一个 button，buttonType 是 UIButtonTypeCustom，设置图片
 
 @param image 设置图片
 @param target 目标
 @param action 动作，事件
 @return button
 */
+ (instancetype)createButtonWithImage:(UIImage *)image target:(id)target action:(SEL)action;



/**
  创建一个 button，buttonType 是 UIButtonTypeCustom，设置图片、圆角

 @param image 设置图片
 @param cornerRadius 圆角
 @param target 目标
 @param action 动作，事件
 @return button
 */
+ (instancetype)createButtonWithImage:(UIImage *)image cornerRadius:(CGFloat)cornerRadius target:(id)target action:(SEL)action;

/**
 创建一个 button，buttonType 是 UIButtonTypeCustom，正常设置图片、选中时的图片
 
 @param normalImage 正常设置图片
 @param selectedImage 选中时的图片
 @param target 目标
 @param action 动作，事件
 @return button
 */
+ (instancetype)createButtonWithNormalImage:(UIImage *)normalImage selectedImage:(UIImage *)selectedImage target:(id)target action:(SEL)action;

/**
 创建一个 button，buttonType 是 UIButtonTypeCustom，正常设置图片、选中时的图片、圆角
 
 @param normalImage 正常设置图片
 @param selectedImage 选中时的图片
 @param cornerRadius 圆角
 @param target 目标
 @param action 动作，事件
 @return button
 */
+ (instancetype)createButtonWithNormalImage:(UIImage *)normalImage selectedImage:(UIImage *)selectedImage cornerRadius:(CGFloat)cornerRadius target:(id)target action:(SEL)action;


/**
 创建一个 button，buttonType 是 UIButtonTypeCustom，正常设置图片，不可点击时的图片

 @param normalImage 正常设置图片
 @param disabledImage 不可点击时的图片
 @param target 目标
 @param action 动作，事件
 @return button
 */
+ (instancetype)createButtonWithNormalImage:(UIImage *)normalImage disabledImage:(UIImage *)disabledImage target:(id)target action:(SEL)action;




/**
 创建一个 button，文字在左，图片在右，space 是 文字 和 图片 间距

 @param frame <#frame description#>
 @param image <#image description#>
 @param title <#title description#>
 @param titleColor <#titleColor description#>
 @param space <#space description#>
 @param backgroundColor <#backgroundColor description#>
 @param target <#target description#>
 @param action <#action description#>
 @return <#return value description#>
 */
+ (instancetype)createButtonWithFrame:(CGRect)frame image:(UIImage *)image title:(NSString *)title titleColor:(UIColor *)titleColor titleFont:(UIFont *)font space:(CGFloat)space backgroundColor:(UIColor *)backgroundColor target:(id)target action:(SEL)action;


/**
 创建一个 button，文字在下，图片在上
 
 @param frame <#frame description#>
 @param image <#image description#>
 @param title <#title description#>
 @param titleColor <#titleColor description#>
 @param backgroundColor <#backgroundColor description#>
 @param target <#target description#>
 @param action <#action description#>
 @return <#return value description#>
 */
+ (instancetype)createButtonWithFrame:(CGRect)frame image:(UIImage *)image title:(NSString *)title titleColor:(UIColor *)titleColor titleFont:(UIFont *)font backgroundColor:(UIColor *)backgroundColor target:(id)target action:(SEL)action;


/**
 创建一个 button，文字在上，图片在下
 
 @param frame <#frame description#>
 @param image <#image description#>
 @param title <#title description#>
 @param titleColor <#titleColor description#>
 @param backgroundColor <#backgroundColor description#>
 @param target <#target description#>
 @param action <#action description#>
 @return <#return value description#>
 */
+ (instancetype)createButtonImageBottomWithFrame:(CGRect)frame image:(UIImage *)image title:(NSString *)title titleColor:(UIColor *)titleColor titleFont:(UIFont *)font backgroundColor:(UIColor *)backgroundColor target:(id)target action:(SEL)action;


/// 创建一个圆角带边框的按钮
+ (instancetype)createButtonWithTitle:(NSString *)title titleColor:(UIColor *)titleColor titleFontSize:(CGFloat)titleFontSize borderColor:(UIColor *)borderColor cornerRadius:(CGFloat)cornerRadius contentEdgeInsets:(UIEdgeInsets)contentEdgeInsets target:(id)target action:(SEL)action;

@end
